using ZR.Model.Dev.Dto;
using ZR.Model.Dev.Entity;
using ZR.Model.Dev;

namespace ZR.Service.Dev.IService
{
    /// <summary>
    /// 系统菜单服务接口
    /// </summary>
    public interface IMenuServiceBase : IBaseService<MenuEntity>
    {

            /// <summary>
            /// 添加系统菜单
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            Task<bool> AddMenu(MenuEntity model);

            /// <summary>
            /// 删除系统菜单
            /// </summary>
            /// <param name="ids"></param>
            /// <param name="isRealDel"></param>
            /// <returns></returns>
            Task<bool> DeleteMenu(long[] ids, bool isRealDel = true);

            /// <summary>
            /// 修改系统菜单
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            Task<bool> ModifyMenu(MenuEntity model);



            /// <summary>
            /// 获取系统菜单树选择列表
            /// </summary>
            /// <param name="req"></param>
            /// <returns></returns>
            Task<List<TreeNodeInfo>> GetMenuTreeSelectList(GetMenuTreeSelectListReq req);

            /// <summary>
            /// 获取系统菜单分页列表
            /// </summary>
            /// <param name="req"></param>
            /// <returns></returns>
            Task<PagedInfo<MenuListItemDto>> GetMenuPageList(GetMenuPageListReq req);

        

            /// <summary>
            /// 获取系统菜单详情
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            Task<MenuDetailDto> GetMenuDetail(long id);

    

    }
}
